
<!DOCTYPE html>

<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

    <title>Packaging lava-server for distributions &#8212; LAVA 2024.05 documentation</title>
    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
    <script src="_static/jquery.js"></script>
    <script src="_static/underscore.js"></script>
    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
    <script src="_static/doctools.js"></script>
    <script src="_static/sphinx_highlight.js"></script>
    <link rel="shortcut icon" href="_static/favicon.ico"/>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="Developing new classes for LAVA V2" href="developer-example.html" />
    <link rel="prev" title="Developing LAVA on Debian" href="debian.html" />
    <link rel="canonical" href="https://docs.lavasoftware.org/lava/packaging.html" />
  
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
<meta name="apple-mobile-web-app-capable" content="yes">
<script type="text/javascript" src="_static/js/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="_static/js/jquery-fix.js"></script>
<script type="text/javascript" src="_static/bootstrap-3.4.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="_static/bootstrap-sphinx.js"></script>


  </head><body>

  <div id="navbar" class="navbar navbar-default navbar-fixed-top">
    <div class="container">
      <div class="navbar-header">
        <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="index.html"><span><img src="_static/lava.png"></span>
          LAVA</a>
        <span class="navbar-text navbar-version pull-left"><b>2024.05</b></span>
      </div>

        <div class="collapse navbar-collapse nav-collapse">
          <ul class="nav navbar-nav">
            
                <li><a href="genindex.html">Index</a></li>
                <li><a href="contents.html">Contents</a></li>
            
            
              <li class="dropdown globaltoc-container">
  <a role="button"
     id="dLabelGlobalToc"
     data-toggle="dropdown"
     data-target="#"
     href="index.html">Site <b class="caret"></b></a>
  <ul class="dropdown-menu globaltoc"
      role="menu"
      aria-labelledby="dLabelGlobalToc"><ul class="current">
<li class="toctree-l1"><a class="reference internal" href="index.html">Introduction to LAVA</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="contents.html">Contents</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="glossary.html">Glossary of terms</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="support.html">Getting support</a></li>
</ul>
</ul>
</li>
              
                <li class="dropdown">
  <a role="button"
     id="dLabelLocalToc"
     data-toggle="dropdown"
     data-target="#"
     href="#">Page <b class="caret"></b></a>
  <ul class="dropdown-menu localtoc"
      role="menu"
      aria-labelledby="dLabelLocalToc"><ul>
<li><a class="reference internal" href="#">Packaging lava-server for distributions</a><ul>
<li><a class="reference internal" href="#apache-distribution-support">Apache distribution support</a></li>
<li><a class="reference internal" href="#instance-name">Instance name</a></li>
<li><a class="reference internal" href="#further-information">Further information</a></li>
<li><a class="reference internal" href="#lava-components">LAVA Components</a><ul>
<li><a class="reference internal" href="#package-dependencies">Package dependencies</a></li>
<li><a class="reference internal" href="#daemon-renaming">Daemon renaming</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</ul>
</li>
              
            
            
              
                
  <li>
    <a href="debian.html" title="Previous Chapter: Developing LAVA on Debian"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; Developing LA...</span>
    </a>
  </li>
  <li>
    <a href="developer-example.html" title="Next Chapter: Developing new classes for LAVA V2"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Developing ne... &raquo;</span>
    </a>
  </li>
              
            
            
            
            
              <li class="hidden-sm"></li>
            
          </ul>

          
            
<form class="navbar-form navbar-right" action="search.html" method="get">
 <div class="form-group">
  <input type="text" name="q" class="form-control" placeholder="Search" />
 </div>
  <input type="hidden" name="check_keywords" value="yes" />
  <input type="hidden" name="area" value="default" />
</form>
          
        </div>
    </div>
  </div>

<div class="container">
  <div class="row">
    <div class="body col-md-12 content" role="main">
      
  <section id="packaging-lava-server-for-distributions">
<span id="packaging-distribution"></span><span id="index-0"></span><h1>Packaging lava-server for distributions<a class="headerlink" href="#packaging-lava-server-for-distributions" title="Permalink to this heading">¶</a></h1>
<p>LAVA currently only has official support for Debian packaging. Additional support
for other distributions needs someone to maintain the packaging and to maintain a
test instance, provide backports and manage migrations to new upstream releases
of dependencies like <code class="docutils literal notranslate"><span class="pre">python-django</span></code>.</p>
<section id="apache-distribution-support">
<h2>Apache distribution support<a class="headerlink" href="#apache-distribution-support" title="Permalink to this heading">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">apache2</span><span class="o">/</span><span class="n">sites</span><span class="o">-</span><span class="n">available</span><span class="o">/</span><span class="n">lava</span><span class="o">-</span><span class="n">server</span><span class="o">.</span><span class="n">conf</span>
</pre></div>
</div>
<p>Aimed at apache2.4 with comments for apache2.2 usage. Edit where necessary and
then enable and restart apache to use.</p>
</section>
<section id="instance-name">
<span id="admin-helpers"></span><h2>Instance name<a class="headerlink" href="#instance-name" title="Permalink to this heading">¶</a></h2>
<ol class="arabic simple">
<li><p>Only one instance can be running at any one time.</p></li>
<li><p>Instance templates share a common folder: /usr/share/lava-server/templates</p></li>
</ol>
</section>
<section id="further-information">
<h2>Further information<a class="headerlink" href="#further-information" title="Permalink to this heading">¶</a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://wiki.debian.org/LAVA">https://wiki.debian.org/LAVA</a></p></li>
<li><p><a class="reference external" href="https://github.com/Linaro">https://github.com/Linaro</a></p></li>
</ul>
</section>
<section id="lava-components">
<span id="packaging-components"></span><h2>LAVA Components<a class="headerlink" href="#lava-components" title="Permalink to this heading">¶</a></h2>
<table class="docutils align-default">
<tbody>
<tr class="row-odd"><td><p>lava</p></td>
<td><p>meta-package for single instance setup</p></td>
</tr>
<tr class="row-even"><td><p>lava-dev</p></td>
<td><p>meta-package for developers to build LAVA</p></td>
</tr>
<tr class="row-odd"><td><p>lava-server</p></td>
<td><p>apache and WSGI settings and HTML content</p></td>
</tr>
<tr class="row-even"><td><p>lava-dispatcher</p></td>
<td><p>dispatches jobs to devices</p></td>
</tr>
</tbody>
</table>
<section id="package-dependencies">
<h3>Package dependencies<a class="headerlink" href="#package-dependencies" title="Permalink to this heading">¶</a></h3>
<p>Take note of the Debian dependencies - not all are available with pypi and not
all are necessarily available in your distribution. A large part of packaging
LAVA for a distribution is taking on the maintenance of a variety of dependency
modules and packages which do not (yet) exist in the distribution.</p>
<p>Depending on how the distribution is organized, it may take a significant
amount of time to get the dependencies uploaded and available in the
appropriate suite, release or location. Many of these dependencies will also
depend on new packages, so the order of uploads will have to be identified in
advance.</p>
</section>
<section id="daemon-renaming">
<span id="packaging-daemon-renaming"></span><h3>Daemon renaming<a class="headerlink" href="#daemon-renaming" title="Permalink to this heading">¶</a></h3>
<p>The web application itself is handled within apache, so to refresh the code
running behind the front end, use:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ sudo apache2ctl restart
</pre></div>
</div>
<p>The <code class="docutils literal notranslate"><span class="pre">LAVA_SYS_USER</span></code> has also been renamed from an instance-specific name to
<code class="docutils literal notranslate"><span class="pre">lavaserver</span></code>. <code class="docutils literal notranslate"><span class="pre">lava-server</span> <span class="pre">manage</span></code> can also be run as a normal user or by
root. The system user is used just for the filesystem permissions.</p>
<p>There are also daemons for the <code class="docutils literal notranslate"><span class="pre">lava-master</span></code> and the <code class="docutils literal notranslate"><span class="pre">lava-worker</span></code>.</p>
</section>
</section>
</section>


    </div>
      
  </div>
</div>
<footer class="footer">
  <div class="container">
    <p class="pull-right">
      <a href="#">Back to top</a>
      
    </p>
    <p>
        &copy; Copyright 2010-2019, Linaro Limited.<br/>
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
    </p>
  </div>
</footer>
  </body>
</html>